Linear capabilities for fully abstract compilation of separation-logic-verified code
نویسندگان
چکیده
منابع مشابه
A Logic of Capabilities (Extended Abstract)
In this paper a logic of capabilities is introduced. We start by defining a language in which not only knowledge and actions of agents can be expressed, but also the abilities. The semantics for this language is given by extended Kripke models. Equivalence transformations on actions are defined in such a way that equivalent actions have equivalent results and that the abilities of an agent are ...
متن کاملFormally verified compilation of low-level C code. (Compilation formellement vérifiée de code C de bas-niveau)
bytes: memval ::= Byte(b) | Pointer(b, i, n) | Undef Memory chunks: memory_chunk ::= Mint8signed 8-bit integers | Mint8unsigned | Mint16signed 16-bit integers | Mint16unsigned | Mint32 32-bit integers or pointers | Mfloat32 32-bit floats | Mint64 64-bit integers | Mfloat64 64-bit floats alloc m lo hi = (m′, b) Allocates a fresh block with bounds [lo, hi[. free m b = bm′c Frees (invalidates) the...
متن کاملModular, Fully-abstract Compilation by Approximate Back-translation
A compiler is fully-abstract if the compilation from source language programs to target language programs reflects and preserves behavioural equivalence. Such compilers have important security benefits, as they limit the power of an attacker interacting with the program in the target language to that of an attacker interacting with the program in the source language. Proving compiler full-abstr...
متن کاملOn Modular and Fully-Abstract Compilation - Technical Appendix
Secure compilation studies compilers that generate target-level components that are as secure as their source-level counterparts. Full abstraction is the most widely-proven property when defining a secure compiler. A compiler is modular if it allows different components to be compiled independently and then to be linked together to form a whole program. Unfortunately, many existing fully-abstra...
متن کاملVerified Compilation for Shared-Memory C
We present a new architecture for specifying and proving optimizing compilers in the presence of shared-memory interactions such as buffer-based system calls, shared-memory concurrency, and separate compilation. The architecture, which is implemented in the context of CompCert, includes a novel interaction-oriented model for C-like languages, and a new proof technique, called logical simulation...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of Functional Programming
سال: 2021
ISSN: 0956-7968,1469-7653
DOI: 10.1017/s0956796821000022